perm filename A110.TEX[106,PHY] blob sn#807817 filedate 1985-11-19 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\magnification\magstephalf
C00012 ENDMK
CāŠ—;
\magnification\magstephalf
\input macro.tex
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}
\baselineskip 14pt
\rm
\font\rmn=amr9
\line{\sevenrm a110.tex[106,phy] \today\hfill}

{\narrower\smallskip\noindent
Cleveland Budgets Left a Mess By One Small Computer Goof

\smallskip
\noindent
	Cleveland

\smallskip
\noindent
	Someone in the county auditor's office listed the worth of
	a home  owned by  Joseph and  Elizabeth Sprenger  at \$510
	million.  The valuation plunged the city's budget and  the
	schools' budget into confusion.

\smallskip
\noindent
	The house was worth \$35,000.

\smallskip
\noindent
	As a result, Cleveland  will get \$2  million less in  real
	estate revenues than expected and the city's schools  will
	get \$4  million less.   Both had  based their  budgets  on
	anticipated revenues that included the auditor's error.

\smallskip
\noindent
	``It throws our whole budget  out of whack,'' said  Joseph
	Tegreene, a member of the  school board.  ``We were  proud
	we had produced  the first balanced  budget in five  years
	without a state loan.''

\smallskip
\noindent
	It was not known who made the error.

\smallskip
\noindent
	Cuyahoga County Auditor  Tim McCormack said  someone at  a
	computer console apparently placed the `5100' code  number
	used to indicate  residential homes  at the  front of  the
	value  for  the  Sprengers'  home.   The  value  came  out
	\$510,035,000.

\smallskip
\noindent
	The Sprengers never got a tax bill on the erroneous value.
	It was corrected before being sent out, but McCormack said
	no one notified the schools.

\smallskip
\noindent
	Tegreene said he expects the  school board to try to  trim
        \$4 million from  its budget.  Phillip  Allen, city  budget
	director, said the  city will  do new  projections on  its
	budget.

\line{\hfil ---San Francisco Chronicle, June 24, 1983\qquad}
\smallskip}

\medskip
	
``Who's buried in downtown Cleveland?''

\qquad	``Everybody.''

\line{\hfill Another Cleveland Joke\qquad\hfil}
\line{\hfill Robert W. Floyd\qquad\hfil}
\line{\hfill Copyright  1983\qquad\hfil}

\medskip
Don't blame the typist who entered the incorrect value of the Sprenger home into
the computer.  Typists always make mistakes; a well-designed information
processing system takes that into account, and detects or allows for the mistakes.
Don't blame the computer, either.  It was just following orders, and, unlike
Adolph Eichmann, it had no choice in the matter.  I~can imagine it muttering to
itself ``This don't seem right somehow.  I~wish I~had some way to ask somebody
about it.''  A good computer programmer always designs his programs to respond
adequately
to incorrect as well as correct data.  Among the options common sense would
suggest to a programmer of a property tax base evaluation:

\smallskip
\disleft 25pt:
(1):Each type of property has a certain plausible maximum and minimum value.
    The maximum plausible value for a house might be 120\%\ of the previous year's
    highest assessed value of any house.

\disleft 25pt:
(2):Such maxima and minima might be set by neighborhoods; a single-family house
    in a slum is unlikely to be worth more than \$100,000, while many a house in
    Shaker Heights might top \$1,000,000.

\disleft 25pt:
(3):If the previous year's evaluation of the same property is available on a
    computer file, plausible maxima and minima might be (say) 20\%\ above and below 
    the old valuation.

\disleft 25pt:
(4):Depending on the degree of implausibility, the computer might request 
    confirmation of the input by the typist:

{\narrower\narrower\smallskip\noindent
      	``Valuation increased by 35\%\ in one year.  Is this confirmed?
   	Type {\tt Y} or~{\tt N}.''
\smallskip}

    It might demand credentials:

{\narrower\narrower\smallskip\noindent
      	``New house evaluated at \$2,800,000.  Evaluations over
	\$1,000,000 must be confirmed by county assessor or deputy.
	Please enter password of confirming officer, or the word
	{\tt POSTPONE}.''
\smallskip}

It might simply refuse to accept certain data.  

{\narrower\narrower\smallskip\noindent
	``Valuation of single family home over \$10,000,000 does not compute.  
	Don't mess with me or I'll raise your electric bill.''
\smallskip}
	
\medskip
In addition to the willingness of Cleveland's program to accept bad data, it
apparently had a second failing; the left hand did not know what the right one was 
doing.  The Sprenger assessment was corrected for the purpose of calculating the
Sprenger's tax bill, but not for the purpose of calculating the city's tax base.
Part of the discipline of data base management (the handling of large files of
repeatedly used data) is to avoid using multiple copies of what should be the
same data in different places; such multiple copies can lead to internal
inconsistency in the data base.

The use of a numerical code to indicate the type of building is an open
invitation to the kind of error that occured.  Why not use~``{\tt R},'' rather
than 5100, to mean residence?

A good programmer should always ask ``What happens to the world if someone enters
bad data into my program, five years in the future, when I've gone away to the
job that finally pays me what I'm worth?  Will the program be likely to detect
bad data?  Will the results of undetected bad data seem plausible?  How likely
are bad data?  How catastropic are the consequences? Will I be sued?''

If you ever go to work as a programmer for Cuyahoga County, please tell them
what I said.  And try to arrange to be paid by a handwritten paycheck.
(On the other hand, if you opt for a computerized paycheck, you might get one
for \$510,035,000.  There's always that chance. Anything can happen
in the city where the river caught fire.)






\bigskip
\parindent0pt
\copyright 1984 Robert W. Floyd;
First draft March 28, 1984.

\bye